home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / AppleScript / Development Tools / Interfaces / AppleScript 1.1 Interfaces / CIncludes / AEObjects.h next >
Encoding:
C/C++ Source or Header  |  1995-01-27  |  16.2 KB  |  432 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        AEObjects.h
  3.  
  4.     Copyright:    © 1984-1993 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef __AEOBJECTS__
  13. #define __AEOBJECTS__
  14.  
  15. #ifndef __MEMORY__
  16. #include <Memory.h>
  17. /*    #include <Types.h>                                            */
  18. /*        #include <ConditionalMacros.h>                            */
  19. /*        #include <MixedMode.h>                                    */
  20. /*            #include <Traps.h>                                    */
  21. #endif
  22.  
  23. #ifndef __OSUTILS__
  24. #include <OSUtils.h>
  25. #endif
  26.  
  27. #ifndef __EVENTS__
  28. #include <Events.h>
  29. /*    #include <Quickdraw.h>                                        */
  30. /*        #include <QuickdrawText.h>                                */
  31. /*            #include <IntlResources.h>                            */
  32. #endif
  33.  
  34. #ifndef __EPPC__
  35. #include <EPPC.h>
  36. /*    #include <PPCToolBox.h>                                        */
  37. /*        #include <AppleTalk.h>                                    */
  38. /*    #include <Processes.h>                                        */
  39. /*        #include <Files.h>                                        */
  40. /*            #include <SegLoad.h>                                */
  41. #endif
  42.  
  43. #ifndef __APPLEEVENTS__
  44. #include <AppleEvents.h>
  45. /*    #include <Notification.h>                                    */
  46. #endif
  47.  
  48. #ifdef __cplusplus
  49. extern "C" {
  50. #endif
  51.  
  52. enum  {
  53.     gestaltObjectSupportLibraryInSystem = 1,
  54.     gestaltObjectSupportLibraryPowerPCSupport = 2
  55. };
  56.  
  57.  
  58. /****    LOGICAL OPERATOR CONSTANTS    ****/
  59.  
  60. enum  {
  61.     kAEAND                        = 0x414e4420,                    //  'AND '  //
  62.     kAEOR                        = 0x4f522020,                    //  'OR  '  //
  63.     kAENOT                        = 0x4e4f5420,                    //  'NOT '  //
  64. /****    ABSOLUTE ORDINAL CONSTANTS    ****/
  65.     kAEFirst                    = 0x66697273,                    //  'firs'  //
  66.     kAELast                        = 0x6c617374,                    //  'last'  //
  67.     kAEMiddle                    = 0x6d696464,                    //  'midd'  //
  68.     kAEAny                        = 0x616e7920,                    //  'any '  //
  69.     kAEAll                        = 0x616c6c20,                    //  'all '  //
  70. /****    RELATIVE ORDINAL CONSTANTS    ****/
  71.     kAENext                        = 0x6e657874,                    //  'next'  //
  72.     kAEPrevious                    = 0x70726576,                    //  'prev'  //
  73. /****    KEYWORD CONSTANT     ****/
  74.     keyAECompOperator            = 0x72656c6f,                    //  'relo'  //
  75.     keyAELogicalTerms            = 0x7465726d,                    //  'term'  //
  76.     keyAELogicalOperator        = 0x6c6f6763,                    //  'logc'  //
  77.     keyAEObject1                = 0x6f626a31,                    //  'obj1'  //
  78.     keyAEObject2                = 0x6f626a32,                    //  'obj2'  //
  79. /*    ... for Keywords for getting fields out of object specifier records. */
  80.     keyAEDesiredClass            = 0x77616e74,                    //  'want'  //
  81.     keyAEContainer                = 0x66726f6d,                    //  'from'  //
  82.     keyAEKeyForm                = 0x666f726d,                    //  'form'  //
  83.     keyAEKeyData                = 0x73656c64                    //  'seld'  //
  84. };
  85.  
  86. enum  {
  87. /*    ... for Keywords for getting fields out of Range specifier records. */
  88.     keyAERangeStart                = 0x73746172,                    //  'star'  //
  89.     keyAERangeStop                = 0x73746f70,                    //  'stop'  //
  90. /*    ... special handler selectors for OSL Callbacks. */
  91.     keyDisposeTokenProc            = 0x78746f6b,                    //  'xtok'  //
  92.     keyAECompareProc            = 0x636d7072,                    //  'cmpr'  //
  93.     keyAECountProc                = 0x636f6e74,                    //  'cont'  //
  94.     keyAEMarkTokenProc            = 0x6d6b6964,                    //  'mkid'  //
  95.     keyAEMarkProc                = 0x6d61726b,                    //  'mark'  //
  96.     keyAEAdjustMarksProc        = 0x61646a6d,                    //  'adjm'  //
  97.     keyAEGetErrDescProc            = 0x696e6463                    //  'indc'  //
  98. };
  99.  
  100.  
  101. /****    VALUE and TYPE CONSTANTS    ****/
  102.  
  103. enum  {
  104. /*    ... possible values for the keyAEKeyForm field of an object specifier. */
  105.     formAbsolutePosition        = 0x696e6478,                    //  'indx'  //
  106.     formRelativePosition        = 0x72656c65,                    //  'rele'  //
  107.     formTest                    = 0x74657374,                    //  'test'  //
  108.     formRange                    = 0x72616e67,                    //  'rang'  //
  109.     formPropertyID                = 0x70726f70,                    //  'prop'  //
  110.     formName                    = 0x6e616d65,                    //  'name'  //
  111. /*    ... relevant types (some of these are often pared with forms above). */
  112.     typeObjectSpecifier            = 0x6f626a20,                    //  'obj '  //
  113.     typeObjectBeingExamined        = 0x65786d6e,                    //  'exmn'  //
  114.     typeCurrentContainer        = 0x63636e74,                    //  'ccnt'  //
  115.     typeToken                    = 0x746f6b65,                    //  'toke'  //
  116.     typeRelativeDescriptor        = 0x72656c20,                    //  'rel '  //
  117.     typeAbsoluteOrdinal            = 0x6162736f,                    //  'abso'  //
  118.     typeIndexDescriptor            = 0x696e6465,                    //  'inde'  //
  119.     typeRangeDescriptor            = 0x72616e67,                    //  'rang'  //
  120.     typeLogicalDescriptor        = 0x6c6f6769,                    //  'logi'  //
  121.     typeCompDescriptor            = 0x636d7064                    //  'cmpd'  //
  122. };
  123.  
  124.  
  125. /* Possible values for flags parameter to AEResolve.  They're additive */
  126.  
  127. enum  {
  128.     kAEIDoMinimum                = 0x0000,
  129.     kAEIDoWhose                    = 0x0001,
  130.     kAEIDoMarking                = 0x0004
  131. };
  132.  
  133.  
  134. /**** SPECIAL CONSTANTS FOR CUSTOM WHOSE-CLAUSE RESOLUTION */
  135.  
  136. enum  {
  137.     typeWhoseDescriptor            = 0x77686f73,                    //  'whos'  //
  138.     formWhose                    = 0x77686f73,                    //  'whos'  //
  139.     typeWhoseRange                = 0x77726e67,                    //  'wrng'  //
  140.     keyAEWhoseRangeStart        = 0x77737472,                    //  'wstr'  //
  141.     keyAEWhoseRangeStop            = 0x77737470,                    //  'wstp'  //
  142.     keyAEIndex                    = 0x6b696478,                    //  'kidx'  //
  143.     keyAETest                    = 0x6b747374                    //  'ktst'  //
  144. };
  145.  
  146.  
  147. /****    OSL ERROR CODES            ****/
  148.  
  149. enum  {
  150.     errAEImpossibleRange        = -1720,                        /* A range like 3rd to 2nd, or 1st to all. */
  151.     errAEWrongNumberArgs        = -1721,                        /* Logical op kAENOT used with other than 1 term */
  152.     errAEAccessorNotFound        = -1723,                        /* Accessor proc matching wantClass and containerType
  153.                                                 ...or wildcards not found */
  154.     errAENoSuchLogical            = -1725,                        /* Something other than AND, OR, or NOT */
  155.     errAEBadTestKey                = -1726,                        /* Test is neither typeLogicalDescriptor
  156.                                                 ...nor typeCompDescriptor */
  157.     errAENotAnObjSpec            = -1727,                        /* Param to AEResolve not of type 'obj ' */
  158.     errAENoSuchObject            = -1728,                        /* e.g.,: specifier asked for the 3rd, but there are only 2.
  159.                                                 ...Basically, this indicates a run-time resolution error. */
  160.     errAENegativeCount            = -1729,                        /* CountProc returned negative value */
  161.     errAEEmptyListContainer        = -1730                            /* Attempt to pass empty list as container to accessor */
  162. };
  163.  
  164.  
  165. /* used for rewriting tokens in place of 'ccnt' descriptors            */
  166.  
  167.  
  168. /* This record is only of interest to those who, when they...        */
  169.  
  170.  
  171. /* ...get ranges as key data in their accessor procs, choose        */
  172.  
  173.  
  174. /* ...to resolve them manually rather than call AEResolve again.    */
  175.  
  176. #if defined(powerc) || defined (__powerc)
  177. #pragma options align=mac68k
  178. #endif
  179. struct ccntTokenRecord {
  180.     DescType                    tokenClass;
  181.     AEDesc                        token;
  182. };
  183. #if defined(powerc) || defined(__powerc)
  184. #pragma options align=reset
  185. #endif
  186.  
  187. typedef struct ccntTokenRecord ccntTokenRecord, *ccntTokenRecPtr, **ccntTokenRecHandle;
  188.  
  189. typedef AEDesc *DescPtr, **DescHandle;
  190.  
  191.  
  192. /* typedefs providing type checking for procedure pointers */
  193.  
  194. typedef pascal OSErr (*OSLAccessorProcPtr)(DescType desiredClass, const AEDesc *container, DescType containerClass, DescType form, const AEDesc *selectionData, AEDesc *value, long accessorRefcon);
  195.  
  196. enum {
  197.     uppOSLAccessorProcInfo = kPascalStackBased
  198.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  199.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DescType)))
  200.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(AEDesc*)))
  201.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(DescType)))
  202.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(DescType)))
  203.          | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(AEDesc*)))
  204.          | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(AEDesc*)))
  205.          | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(long)))
  206. };
  207.  
  208. #if USESROUTINEDESCRIPTORS
  209. typedef UniversalProcPtr OSLAccessorUPP;
  210.  
  211. #define CallOSLAccessorProc(userRoutine, desiredClass, container, containerClass, form, selectionData, value, accessorRefcon)        \
  212.         CallUniversalProc((UniversalProcPtr)userRoutine, uppOSLAccessorProcInfo, desiredClass, container, containerClass, form, selectionData, value, accessorRefcon)
  213. #define NewOSLAccessorProc(userRoutine)        \
  214.         (OSLAccessorUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppOSLAccessorProcInfo, GetCurrentISA())
  215. #else
  216. typedef OSLAccessorProcPtr OSLAccessorUPP;
  217.  
  218. #define CallOSLAccessorProc(userRoutine, desiredClass, container, containerClass, form, selectionData, value, accessorRefcon)        \
  219.         (*userRoutine)(desiredClass, container, containerClass, form, selectionData, value, accessorRefcon)
  220. #define NewOSLAccessorProc(userRoutine)        \
  221.         (OSLAccessorUPP)(userRoutine)
  222. #endif
  223.  
  224. typedef pascal OSErr (*OSLCompareProcPtr)(DescType oper, const AEDesc *obj1, const AEDesc *obj2, Boolean *result);
  225.  
  226. enum {
  227.     uppOSLCompareProcInfo = kPascalStackBased
  228.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  229.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DescType)))
  230.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(AEDesc*)))
  231.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(AEDesc*)))
  232.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(Boolean*)))
  233. };
  234.  
  235. #if USESROUTINEDESCRIPTORS
  236. typedef UniversalProcPtr OSLCompareUPP;
  237.  
  238. #define CallOSLCompareProc(userRoutine, oper, obj1, obj2, result)        \
  239.         CallUniversalProc((UniversalProcPtr)userRoutine, uppOSLCompareProcInfo, oper, obj1, obj2, result)
  240. #define NewOSLCompareProc(userRoutine)        \
  241.         (OSLCompareUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppOSLCompareProcInfo, GetCurrentISA())
  242. #else
  243. typedef OSLCompareProcPtr OSLCompareUPP;
  244.  
  245. #define CallOSLCompareProc(userRoutine, oper, obj1, obj2, result)        \
  246.         (*userRoutine)(oper, obj1, obj2, result)
  247. #define NewOSLCompareProc(userRoutine)        \
  248.         (OSLCompareUPP)(userRoutine)
  249. #endif
  250.  
  251. typedef pascal OSErr (*OSLCountProcPtr)(DescType desiredType, DescType containerClass, const AEDesc *container, long *result);
  252.  
  253. enum {
  254.     uppOSLCountProcInfo = kPascalStackBased
  255.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  256.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DescType)))
  257.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(DescType)))
  258.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(AEDesc*)))
  259.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long*)))
  260. };
  261.  
  262. #if USESROUTINEDESCRIPTORS
  263. typedef UniversalProcPtr OSLCountUPP;
  264.  
  265. #define CallOSLCountProc(userRoutine, desiredType, containerClass, container, result)        \
  266.         CallUniversalProc((UniversalProcPtr)userRoutine, uppOSLCountProcInfo, desiredType, containerClass, container, result)
  267. #define NewOSLCountProc(userRoutine)        \
  268.         (OSLCountUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppOSLCountProcInfo, GetCurrentISA())
  269. #else
  270. typedef OSLCountProcPtr OSLCountUPP;
  271.  
  272. #define CallOSLCountProc(userRoutine, desiredType, containerClass, container, result)        \
  273.         (*userRoutine)(desiredType, containerClass, container, result)
  274. #define NewOSLCountProc(userRoutine)        \
  275.         (OSLCountUPP)(userRoutine)
  276. #endif
  277.  
  278. typedef pascal OSErr (*OSLDisposeTokenProcPtr)(AEDesc *unneededToken);
  279.  
  280. enum {
  281.     uppOSLDisposeTokenProcInfo = kPascalStackBased
  282.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  283.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(AEDesc*)))
  284. };
  285.  
  286. #if USESROUTINEDESCRIPTORS
  287. typedef UniversalProcPtr OSLDisposeTokenUPP;
  288.  
  289. #define CallOSLDisposeTokenProc(userRoutine, unneededToken)        \
  290.         CallUniversalProc((UniversalProcPtr)userRoutine, uppOSLDisposeTokenProcInfo, unneededToken)
  291. #define NewOSLDisposeTokenProc(userRoutine)        \
  292.         (OSLDisposeTokenUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppOSLDisposeTokenProcInfo, GetCurrentISA())
  293. #else
  294. typedef OSLDisposeTokenProcPtr OSLDisposeTokenUPP;
  295.  
  296. #define CallOSLDisposeTokenProc(userRoutine, unneededToken)        \
  297.         (*userRoutine)(unneededToken)
  298. #define NewOSLDisposeTokenProc(userRoutine)        \
  299.         (OSLDisposeTokenUPP)(userRoutine)
  300. #endif
  301.  
  302. typedef pascal OSErr (*OSLGetMarkTokenProcPtr)(const AEDesc *dContainerToken, DescType containerClass, AEDesc *result);
  303.  
  304. enum {
  305.     uppOSLGetMarkTokenProcInfo = kPascalStackBased
  306.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  307.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(AEDesc*)))
  308.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(DescType)))
  309.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(AEDesc*)))
  310. };
  311.  
  312. #if USESROUTINEDESCRIPTORS
  313. typedef UniversalProcPtr OSLGetMarkTokenUPP;
  314.  
  315. #define CallOSLGetMarkTokenProc(userRoutine, dContainerToken, containerClass, result)        \
  316.         CallUniversalProc((UniversalProcPtr)userRoutine, uppOSLGetMarkTokenProcInfo, dContainerToken, containerClass, result)
  317. #define NewOSLGetMarkTokenProc(userRoutine)        \
  318.         (OSLGetMarkTokenUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppOSLGetMarkTokenProcInfo, GetCurrentISA())
  319. #else
  320. typedef OSLGetMarkTokenProcPtr OSLGetMarkTokenUPP;
  321.  
  322. #define CallOSLGetMarkTokenProc(userRoutine, dContainerToken, containerClass, result)        \
  323.         (*userRoutine)(dContainerToken, containerClass, result)
  324. #define NewOSLGetMarkTokenProc(userRoutine)        \
  325.         (OSLGetMarkTokenUPP)(userRoutine)
  326. #endif
  327.  
  328. typedef pascal OSErr (*OSLGetErrDescProcPtr)(DescPtr *appDescPtr);
  329.  
  330. enum {
  331.     uppOSLGetErrDescProcInfo = kPascalStackBased
  332.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  333.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DescPtr*)))
  334. };
  335.  
  336. #if USESROUTINEDESCRIPTORS
  337. typedef UniversalProcPtr OSLGetErrDescUPP;
  338.  
  339. #define CallOSLGetErrDescProc(userRoutine, appDescPtr)        \
  340.         CallUniversalProc((UniversalProcPtr)userRoutine, uppOSLGetErrDescProcInfo, appDescPtr)
  341. #define NewOSLGetErrDescProc(userRoutine)        \
  342.         (OSLGetErrDescUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppOSLGetErrDescProcInfo, GetCurrentISA())
  343. #else
  344. typedef OSLGetErrDescProcPtr OSLGetErrDescUPP;
  345.  
  346. #define CallOSLGetErrDescProc(userRoutine, appDescPtr)        \
  347.         (*userRoutine)(appDescPtr)
  348. #define NewOSLGetErrDescProc(userRoutine)        \
  349.         (OSLGetErrDescUPP)(userRoutine)
  350. #endif
  351.  
  352. typedef pascal OSErr (*OSLMarkProcPtr)(const AEDesc *dToken, const AEDesc *markToken, long index);
  353.  
  354. enum {
  355.     uppOSLMarkProcInfo = kPascalStackBased
  356.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  357.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(AEDesc*)))
  358.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(AEDesc*)))
  359.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long)))
  360. };
  361.  
  362. #if USESROUTINEDESCRIPTORS
  363. typedef UniversalProcPtr OSLMarkUPP;
  364.  
  365. #define CallOSLMarkProc(userRoutine, dToken, markToken, index)        \
  366.         CallUniversalProc((UniversalProcPtr)userRoutine, uppOSLMarkProcInfo, dToken, markToken, index)
  367. #define NewOSLMarkProc(userRoutine)        \
  368.         (OSLMarkUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppOSLMarkProcInfo, GetCurrentISA())
  369. #else
  370. typedef OSLMarkProcPtr OSLMarkUPP;
  371.  
  372. #define CallOSLMarkProc(userRoutine, dToken, markToken, index)        \
  373.         (*userRoutine)(dToken, markToken, index)
  374. #define NewOSLMarkProc(userRoutine)        \
  375.         (OSLMarkUPP)(userRoutine)
  376. #endif
  377.  
  378. typedef pascal OSErr (*OSLAdjustMarksProcPtr)(long newStart, long newStop, const AEDesc *markToken);
  379.  
  380. enum {
  381.     uppOSLAdjustMarksProcInfo = kPascalStackBased
  382.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  383.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(long)))
  384.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
  385.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(AEDesc*)))
  386. };
  387.  
  388. #if USESROUTINEDESCRIPTORS
  389. typedef UniversalProcPtr OSLAdjustMarksUPP;
  390.  
  391. #define CallOSLAdjustMarksProc(userRoutine, newStart, newStop, markToken)        \
  392.         CallUniversalProc((UniversalProcPtr)userRoutine, uppOSLAdjustMarksProcInfo, newStart, newStop, markToken)
  393. #define NewOSLAdjustMarksProc(userRoutine)        \
  394.         (OSLAdjustMarksUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppOSLAdjustMarksProcInfo, GetCurrentISA())
  395. #else
  396. typedef OSLAdjustMarksProcPtr OSLAdjustMarksUPP;
  397.  
  398. #define CallOSLAdjustMarksProc(userRoutine, newStart, newStop, markToken)        \
  399.         (*userRoutine)(newStart, newStop, markToken)
  400. #define NewOSLAdjustMarksProc(userRoutine)        \
  401.         (OSLAdjustMarksUPP)(userRoutine)
  402. #endif
  403.  
  404.  
  405. /*——————————————————————————————— PUBLIC PROCEDURES —————————————————————————————————*/
  406.  
  407. extern pascal OSErr AEObjectInit();
  408.  
  409. /* Not done by inline, but by direct linking into code.  It sets up the pack
  410.   such that further calls can be via inline */
  411.  
  412. extern pascal OSErr AESetObjectCallbacks(OSLCompareUPP myCompareProc, OSLCountUPP myCountProc, OSLDisposeTokenUPP myDisposeTokenProc, OSLGetMarkTokenUPP myGetMarkTokenProc, OSLMarkUPP myMarkProc, OSLAdjustMarksUPP myAdjustMarksProc, OSLGetErrDescUPP myGetErrDescProcPtr)
  413.  THREEWORDINLINE(0x303C, 0x0E35, 0xA816);
  414. extern pascal OSErr AEResolve(const AEDesc *objectSpecifier, short callbackFlags, AEDesc *theToken)
  415.  THREEWORDINLINE(0x303C, 0x0536, 0xA816);
  416. extern pascal OSErr AEInstallObjectAccessor(DescType desiredClass, DescType containerType, OSLAccessorUPP theAccessor, long accessorRefcon, Boolean isSysHandler)
  417.  THREEWORDINLINE(0x303C, 0x0937, 0xA816);
  418. extern pascal OSErr AERemoveObjectAccessor(DescType desiredClass, DescType containerType, OSLAccessorUPP theAccessor, Boolean isSysHandler)
  419.  THREEWORDINLINE(0x303C, 0x0738, 0xA816);
  420. extern pascal OSErr AEGetObjectAccessor(DescType desiredClass, DescType containerType, OSLAccessorUPP *accessor, long *accessorRefcon, Boolean isSysHandler)
  421.  THREEWORDINLINE(0x303C, 0x0939, 0xA816);
  422. extern pascal OSErr AEDisposeToken(AEDesc *theToken)
  423.  THREEWORDINLINE(0x303C, 0x023A, 0xA816);
  424. extern pascal OSErr AECallObjectAccessor(DescType desiredClass, const AEDesc *containerToken, DescType containerClass, DescType keyForm, const AEDesc *keyData, AEDesc *token)
  425.  THREEWORDINLINE(0x303C, 0x0C3B, 0xA816);
  426. #ifdef __cplusplus
  427. }
  428. #endif
  429.  
  430. #endif
  431.  
  432.